1. Field of the Invention
The present invention relates to a data communication method of an error control of an automatic repeat request system and a data communication apparatus therefor.
2. Background of the Invention
An error control method in a data communication system includes an error control method of an automatic repeat request (ARQ) system suitable for application to a mobile data communication system in which a burst error occurs relatively frequently. According to this error control method of an automatic repeat request system, if a data frame transmitted from a transmission side communication apparatus (data communication apparatus) to a reception side transmission apparatus (data communication apparatus) has an error, then the transmission side communication apparatus transmits the data frame to the reception side communication apparatus again based on a re-transmission request from the reception side communication apparatus to the transmission side communication apparatus.
Although there are various kinds of error control methods of automatic repeat request, an error control method of automatic repeat request system of a selective repeat (SR) system providing a high throughput will hereinafter be described by way of example.
An arrangement of an ARQ frame having the same format when it is a data frame and a feedback frame will be described with reference to FIGS. 1A and 1B. One ARQ frame is formed of, for example, 640 bits having successively disposed a 4-bit frame identifier FI, a 1-bit modulo identifier MI, a 6-bit transmission frame number area FFI, a 6-bit request frame number FBI, an 8-bit data length area (where a byte is used as a unit) DLEN, a 584-bit transmission data area DATA, and a 32-bit error detection code FCS. In this frame arrangement, each of the bit numbers of the areas is shown by way of example.
The frame identifier FI indicates a kind of a frame and is set to "0010", for example, in this example.
The transmission frame number FFI is allocated by using modulos of 63, by way of example. Identification of the modulos is indicated by the modulo identifier MI whose value is alternately "0" and "1". Specifically, when a data frame and a feedback frame are transmitted from a transmission-side data communication apparatus to a reception-side data communication apparatus in an ascending order of the transmission frame number FFI (or in a descending order thereof), in a state that the modulo identifier MI is MI=0, the transmission frame number FFI is changed in an order of 1, 2, 3, . . . , 62, 63. Then, in a state that the modulo identifier MI is MI=1, the transmission frame number FFI is changed in an order of 1, 2, 3, . . . , 62, 63. Then, in a state that the modulo identifier MI is MI=0, the transmission frame number FFI is changed in an order of 1, 2, 3, . . . 62, 63. Thereafter, this change of the transmission frame number is repeated.
The request frame number (transmission request frame number) FBI is a number of a frame which the transmission-side data communication apparatus requests the reception side data communication apparatus to transmit next, being a smallest frame number, corresponding to the frame number of the received frame number, (or a largest frame number in case of the transmission number FFI allocated in the ascending order) among data frames which have not been received.
The data length area DLEN indicates an amount of data included in the data area DATA and can indicate the data amount which ranges from 0 to 73 bytes, being 73 bytes in this example shown in FIGS. 1A and 1B.
The error detection code FCS is a 32-bit cyclic redundancy check (CRC) code which is a CRC 32 according to ITU (International Telecommunication Union)-T recommendation V. 42 (LAPM option). This CRC code effects a 608-bit area from the frame identifier FI to the data area DATA (=640 bits-32 bits).
Each of the data frame and the feedback frame respectively shown in FIGS. 1A and 1B does not include a synchronization word and so on used for establishing synchronization because they are used in a state that synchronization is established.
In the data frame shown in FIG. 1A, the data area DATA includes significant data, but the data area DATA of the feedback frame shown in FIG. 1B does not include significant data and hence includes non-significant data having all values of 1 (or may include other bit patterns such as all values of 0 or the like).
An ARQ transmission chart according to the SR system presented when a transmission frame shown in FIG. 1A has an error will be described with reference to FIG. 2. In FIG. 2, numerals in rectangular frames of the data transmission side (transmission side communication apparatus) depict frame numbers of transmission frames. It is assumed that there are ten transmission frames 1 to 10 and the frame numbers 1 and 10 respectively depict the first transmission frame number and the last transmission frame number (the maximum frame number). An arrow pointing toward the lower right depicts a transmission frame transmitted from the transmission side communication apparatus to the reception side communication apparatus. An arrow pointing toward an upper right depicts a feedback frame transmitted from the reception side communication apparatus to the transmission side communication apparatus. A solid-line arrow depicts a frame having no transmission error. A broken-line arrow depicts a frame (transmission frame) having a transmission error, i.e., a frame (transmission frame) which has not been received correctly. A request frame number of the feedback frame is depicted by a reference symbol R marked with a frame number. A reference symbol RTF depicts a round trip delay frame which indicates a multiple of a frame period required for the transmission side communication apparatus to, after transmitting a transmission frame (data frame) therefrom to the reception side communication apparatus, receive a feedback frame from the reception side communication apparatus indicating whether or not the reception side communication apparatus has received the transmission frame correctly. In this example shown in FIG. 2, the round trip delay frame RTF is 4.
Operations of the transmission side communication apparatus and the reception side data communication apparatus will be described with reference to FIG. 2.
[transmission side communication apparatus]
(1) Transmit data frames having the transmission numbers 1, 2 and 3 to the reception side communication apparatus successively (the modulo identifier MI is MI=0 and the following processes will be carried out under the same condition). PA0 (2) Receive a feedback frame from the reception side communication apparatus as a frame responding to the data frame having the transmission number 1 while transmitting the data frame having the transmission frame number 4 to the reception side communication apparatus. Since the request frame number indicated by the feedback frame is 2, determine that the reception side communication apparatus has received the data frame having the transmission frame number 1 correctly. PA0 (3) Receive a feedback frame from the reception side communication apparatus as a frame responding to the data frame having the transmission number 2 while transmitting the data frame having the transmission frame number 5 to the reception side communication apparatus. Since the request frame number indicated by the feedback frame is 3, determine that the reception side communication apparatus has received the data frame having the transmission frame number 2 correctly. PA0 (4) Receive a feedback frame from the reception side communication apparatus as a frame responding to the data frame having the transmission number 3 while transmitting the data frame having the transmission frame number 6 to the reception side communication apparatus. Since the request frame number indicated by the feedback frame is 4, determine that the reception side communication apparatus has received the data frame having the transmission frame number 3 correctly. PA0 (5) Receive a feedback frame from the reception side communication apparatus as a frame responding to the data frame having the transmission number 4 while transmitting the data frame having the transmission frame number 7 to the reception side communication apparatus. Since the request frame number indicated by the feedback frame is 4, determine that the reception side communication apparatus has not received the data frame having the transmission frame number 4 correctly. PA0 (6) Transmit the data from having the transmission frame number 8 to the reception side communication apparatus and then re-transmit the data frame having the transmission fame number 4 to the reception side communication apparatus. PA0 (7) Transmit data frames having the transmission numbers 9, 10, +1 and +2 to the reception side communication apparatus successively because the feedback frame as a frame responding to the re-transmitted data frame having the transmission frame number 4 will be received after a four-frame period. A symbol "+" depicts a transmission frame number allocated when the modulo identifier MI is MI=1. PA0 (8) Receive a feedback frame from the reception side communication apparatus as a frame responding to the data frame having the transmission number 4 while transmitting the data frame having the transmission frame number +2 to the reception side communication apparatus. Since the request frame number indicated by the feedback frame reaches a maximum outstanding frame (=request frame number-2), transmit the data frame having the transmission frame number 4 and requested at present to the reception side communication apparatus without transmitting the data frame having the transmission frame number +3. PA0 (9) Transmit successively the data frames having the transmission frame numbers 5, 6, 7 (these data frames are transmitted at the second time and hence their transmission frame numbers are indicated by open circles in FIG. 2) to the reception side communication apparatus because it is not clear whether the reception side communication apparatus has correctly received the data frames having the transmission frame numbers 4 and greater. PA0 (10) Receive the feedback frame from the reception side communication apparatus as the frame responding to the data frame having the transmission number 4 while transmitting the data frame having the transmission frame number 7 to the reception side communication apparatus. Since the request frame number indicated by the feedback frame is 9, determine that the reception side communication apparatus has received the data frame having the transmission frame number 4 correctly. PA0 (1) Since having received the data frames having the transmission frame numbers 1, 2 and 3 correctly, successively transmit feedback frames respectively including the request frame numbers 2, 3 and 4 to the transmission side communication apparatus. PA0 (2) Since having not received the data frame having the transmission frame number 4 correctly, repeatedly transmit the feedback frame whose request frame number is 4 until correct reception of the data frame having the transmission frame number 4. PA0 (3) If receiving the data frame having the transmission frame number 4 correctly, repeatedly transmit a feedback frame having a request frame number 9 which is a minimum number among frame numbers of frames that have not been received, until receiving the data frame having the transmission frame number 9 correctly.
[reception side communication apparatus]
The reception side communication apparatus constantly sets as the request frame number of the feedback frame a transmission frame number of a data frame which it requests the transmission side communication apparatus to transmit next time, and thereby transmits the feedback frame having the set transmission number to the transmission side communication apparatus.
In the ARQ error control method of SR system of the example shown in FIG. 2, when the transmission side communication apparatus transmits the data frames having the transmission frame numbers 1 to 10 to the reception side communication apparatus, the number of the transmission frames practically transmitted is 18.
In the example shown in FIG. 2, assuming that the frame number of the data frames to be transmitted from the transmission side communication apparatus to the reception side communication apparatus is N0 and the frame number of the data frames practically transmitted is N1, then a throughput S of transmission of the data frames from the transmission side communication apparatus to the reception side communication apparatus according to this control method is expressed by the following equation (1): EQU S=N0/N1=12/18=0.67 (1)
In the example shown in FIG. 2, the data frame having the transmission frame number 4 is not correctly received twice by the reception side communication apparatus and hence transmitted three times. The data frame having the transmission frame number 9 is not correctly received once by the reception side communication apparatus and hence transmitted twice. However, study of FIG. 2 reveals that, although having been received correctly by the reception side communication apparatus, the data frames having the transmission frame numbers 5, 6, 7 are unnecessarily re-transmitted since the request frame numbers of the feedback frames have been 4 (due to a round trip delay) until the transmission of the data frame having the transmission frame number 7. This is a cause of lowering the throughput S of the transmission of the data frames from the transmission side communication apparatus to the reception side communication apparatus according to this control method. The throughput S is lowered as the round trip delay amount is increased.